1. Technical Field
The present invention relates in general to manipulations of directory tree structures of a computer system, and in particular to a method and system which allows a computer user to distinguish a subset of members within a directory tree structure. Still more particularly, the present invention relates to a method and system for reanchoring branches of a directory tree to provide optimum management and organization of members within a directory tree.
2. Description of the Related Art
The ability to display user selectable software applications is a necessary feature of a computer operating system. A user must know what software tools are available for selection and execution. Software applications or software tools include, generally, executable files, and viewable data such as database tables and views. Software applications are typically organized by topic into directories. A directory is a cataloging mechanism for files and subordinate directories often referred to as subdirectories.
A directory tree allows a user to organize software applications which have related subject matter or a common theme. Alternately, some software applications automatically organize members in a directory tree configuration. However, existing directory trees are large and have many branches. Further, user commands which allow for directory tree manipulations are very limited in functionality and in scope. Existing directory tree editing functions employ tedious control requirements and provide less than perfect feedback to a user.
A directory tree is a graphic display which lists the directories and subdirectories which are stored in electronically retrievable media such as a disk drive. Software tools which are user selectable are typically displayed in a "tree" structure, hence the term "directory tree" refers to an organized list of directories, subdirectories, files, symbolic links, and other software tools or attributes.
Software tools can be referred to as directory tree members. A "branch" of a directory tree is a group of directory tree members which are linked together and anchored at a root of the directory tree. A branch is typically anchored at the left margin of the display screen and sprawl towards the right margin. Therefore, a branch would contain logical tree objects which are nested within a directory.
Most modern computer operating systems display selectable software in a directory tree configuration. A directory tree is typically displayed within a graphical user interface (GUI). A GUI allows a user to select files and manipulate the display utilizing an instrument such as a mouse. User selection via a mouse can be accomplished by "pointing and clicking" on a selectable feature on the computer display.
Directory trees are commonly displayed within a GUI. For example, in the directory tree control features for International Business Machine's Universal Databases, Windows Explorer, and in Lotus Notes, a hierarchial directory tree provides organization for user selectable software tools within a GUI. The abovementioned and well known directory tree control features vary only subtly in form and function. Selectable software tools are typically, by default, arranged alphabetically in a hierarchial configuration within a directory tree.
In FIG. 1, directory tree 50 is illustrated in a GUI embodiment. Typically, directory trees exist in a computer when the computer is purchased or directory trees are automatically created when software is loaded into the computer. A user can also create directory trees. Directory trees are a way of organizing and grouping files such that a user is not overwhelmed by a long list of unorganized files or software applications.
Typically, portions of a directory tree can be composed by creating a root directory, giving the directory a title, and then adding subdirectories, or files into the directory. Directories are often referred to as folders.
Subdirectories of a folder typically appear indented from the folder title in an "outline" form as depicted in FIG. 1. In large directory trees such as those present in computers which administrate a computer network, multiple branches having nested directory tree structures are typically required. With the complexity of a typical GUI, display area is often limited.
Directory tree utilization becomes awkward when necessary software applications within the directory tree become obscured. For example, directory tree branch structure 82 is not legible in left display window 20 because directory tree branch structure 82 is outside the allotted display window.
If a heavily utilized directory tree member resides outside of the allotted window space, a user must continually utilize screen sizing, scrolling or reframing commands to view and select the nested directory tree members. This cumbersome requirement is unacceptable to many users.
Further, additional directory tree branch structures can branch from directory tree branch structure 82 (not shown). Often, a user will not even know that these deeply nested members exist because these directory tree members reside completely out of view of the user. Assuming a user gets the motivation to search for hidden directory tree branches, a user is required to perform multiple window management functions merely to identify what directory tree selections exist. Traversing a large directory tree can be an inefficient and cumbersome process.
Generally, subdirectories which are placed into a folder typically are "linked" by a vertical dotted line which can be referred to as a linking indicator. In FIG. 1, directory tree members are visually interconnected by outer linking indicator 42 and inner linking indicator 56.
A folder such as Instances 61 which is attached to left margin linking indicator 49 is often called a node or a root of the directory tree. The node provides an anchor for attaching a group of members in a hierarchial format on a directory tree.
For example, Instances 61 is a folder or directory and Databases 80 is a member or subdirectory of Instances 61. The shortcoming in all known GUI embodiments which display directory trees, is that the user cannot focus a group of subdirectories or distinguish a group of logical tree objects within a directory tree. Additionally, a user cannot reorganize a group of subdirectories which are nested within a folder to locate them in close proximity to the left margin.
A logical tree object (LTO) (e.g. a file, a directory, a subdirectory, table, view, symbolic link, shortcut, icons, menu items or aliases) can be utilized to select software features. Users of a directory tree need not be aware of which physical system retrieves or implements a software tool in response to the selection of a LTO. LTOs provide a flexible means for selection of software tools because portions of files, file management systems and software tools might be physically in different locations within a computer memory structure. Often, files which are rarely utilized are physically stored in remote memory locations.
A directory tree format within a GUI allows a user to navigate through available software tool selections and perform information and object manipulation of software files. Often, under-utilized directory and subdirectory selections comprise the viewable portion of the directory tree and frequently utilized selection reside outside of view due to screen space constraints.
It would be desirable to provide a computer user with a feature which allows the user the flexibility to reanchor or rearrange individual LTOs within the window or frame presenting a directory tree. If a user could move frequently utilized subdirectory groups within close proximity to the left margin, a user could become better organized and hence, more efficient.
Additionally, a user might desire to rearrange a directory tree to perform a specific task, and then, after the specific task is complete, the user might want to again rearrange the directory tree.
Known directory tree controls and editing features are very limited in function and do not provide sufficient functionality to a user. Current directory tree features also do not provide adequate feedback to the user.
Poor functionality of directory tree controls is becoming a significant impairment for computer users because the number of files and directories within a computer that a user must manage is growing at a significant rate. This growth is due to the large memory capacity now available in modern personal computers. For example, a computer which provides computer network administration could have a directory tree which contains hundreds of nested members. Further, the linking of external memory through inter-connected computers has increased the quantity of files or software tools which are accessible and displayed in a directory tree format to a user.
Often, a user desires to create a customized directory tree to increase his or her efficiency.
Although existing directory tree management functions allow obscuring an entire folder from view by "collapsing the node" or collapsing a directory and all subdirectories under the directory, all known directory tree edit operations will not allow user friendly rearrangement of directory trees.
Typically, the majority of subdirectories within a folder are irrelevant to a current task, yet nested subdirectories cannot be reanchored. Simplification of the directory tree allows a larger quantity of relevant selections to be displayed simultaneously to a user.
In the exemplary embodiment of FIG. 1, directory tree 50 has a considerable quantity of members and only a small portion of the directories and subdirectories available to the user are displayed within the confines of left display window 20. By today's standards even a small directory tree becomes quite cumbersome to view and manipulate. Further, only a fraction of the directories and subdirectories stored in the computer can be displayed at any given time due to the display area constraints.
Typically, a user input is achieved utilizing a pointing device such as a mouse, which controls a graphical pointer on a display such as graphical pointer 40. Graphical pointer 40 provides user feedback such that a user can point to a desired selection utilizing a pointing device and receive feedback by viewing graphical pointer 40. When graphical pointer 40 is properly positioned, a switch or button can be depressed to make a selection. This is called by those having skill in the art "pointing and clicking" on the selection.
All members of a directory tree branch which are part of the node, root or folder entitled Databases 80 can be removed from view by collapsing a node utilizing existing directory tree management functions. Collapsing the node which is anchored by Databases 80 by selecting indictor symbol--75 would hide from view the subdirectories linked by outer linking indicator 42 and inner linking indicator 56. Existing directory tree editors which utilize the symbols + and - to expand and collapse entire directories do not provide adequate directory tree management, and there is a long felt need for improved tree management functions.
Although many of the displayed directory tree members are not executable and hence not selectable, existing directory tree management software does not allow a user to distinguish members of a directory tree. Displaying non-selectable directory tree members is a inefficient utilization of the limited screen space in a GUI environment.
Due to limited display screen area, a typical user desires to display only subdirectories which are selectable thus distinguishing those members. Allowing a user to display only folders which provide user selectable functionality will increase a users organization and efficiency.
Often, directories, subdirectories or logical objects residing in a directory tree are utilized to set up, or initially configure a computer, and thereafter these logical objects are rarely utilized. Additionally, a variety of different user selectable options provide identical selection functionality via different formats.
A user might also desire to focus on a range of objects within a directory tree which are only selectable via the directory tree. Often, when directory tree members are selectable via a means other than a directory tree it less important to display these members within the screen space available.
Currently, known directory tree editors do not allow a user to selectively display a group of deeply nested members within a directory, and therefore, optimum working conditions cannot be achieved. Focusing upon and distinguishing a group of subdirectories within a directory tree allows a larger quantity of important or applicable directory tree members to be simultaneously displayed to the user. Since a user is deprived of the ability to customize the appearance of a directory tree, user productivity is hindered and organizational deficiencies result.
Hence, allowing a user to selectively arrange directories or subdirectories within a directory tree would be desirable. Further, an improved method for making a directory tree more manageable would be helpful. Additionally, a directory tree management system having visual elements which are similar to existing graphical user interface control features is an unfulfilled requirement of computer users. Still Further, an improved directory tree management system that does not add complexity to the visual elements of the GUI, and can use similar interfacing methods such as pointing and clicking, would be very advantageous.